package org.dromara.llm.domain.vo;

import org.dromara.llm.domain.SysMessage;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;


/**
 * 人与AI对话消息视图对象 sys_message
 *
 * @author Miles Meng
 * @date 2025-06-25
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysMessage.class)
public class SysMessageVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 消息ID，主键
     */
    @ExcelProperty(value = "消息ID，主键")
    private Long id;

    /**
     * 设备ID
     */
    @ExcelProperty(value = "设备ID")
    private String deviceId;

    /**
     * 会话ID
     */
    @ExcelProperty(value = "会话ID")
    private String sessionId;

    /**
     * 消息发送方：user-用户，assistant-人工智能
     */
    @ExcelProperty(value = "消息发送方：user-用户，assistant-人工智能")
    private String sender;

    /**
     * AI扮演的角色ID
     */
    @ExcelProperty(value = "AI扮演的角色ID")
    private Long roleId;

    /**
     * 消息内容
     */
    @ExcelProperty(value = "消息内容")
    private String message;

    /**
     * 消息类型
     */
    @ExcelProperty(value = "消息类型")
    private String messageType;

    /**
     * 语音文件路径
     */
    @ExcelProperty(value = "语音文件路径")
    private String audioPath;

    /**
     * 状态：1-有效，0-删除
     */
    @ExcelProperty(value = "状态：1-有效，0-删除")
    private String state;


}
